[INFO] cloning repository https://github.com/dbmrq/villalobos
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dbmrq/villalobos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbmrq%2Fvillalobos", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbmrq%2Fvillalobos'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1d1c9f39acdff831aa1b6dbfa20b8b124627648a
[INFO] fixing dbmrq/villalobos against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbmrq%2Fvillalobos" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dbmrq/villalobos
[INFO] finished tweaking git repo https://github.com/dbmrq/villalobos
[INFO] tweaked toml for git repo https://github.com/dbmrq/villalobos written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dbmrq/villalobos on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dbmrq/villalobos already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 048ff13ff81b5cefe5ee81531d39981d16c0664a3edcc1d3ba96322b9c6421a5
[INFO] running `Command { std: "docker" "start" "048ff13ff81b5cefe5ee81531d39981d16c0664a3edcc1d3ba96322b9c6421a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "048ff13ff81b5cefe5ee81531d39981d16c0664a3edcc1d3ba96322b9c6421a5" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "048ff13ff81b5cefe5ee81531d39981d16c0664a3edcc1d3ba96322b9c6421a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "048ff13ff81b5cefe5ee81531d39981d16c0664a3edcc1d3ba96322b9c6421a5" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking num-conv v0.2.0
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking line-clipping v0.3.5
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking lru v0.16.3
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]    Compiling paperboat v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Migrating build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]     Checking sdd v3.0.10
[INFO] [stderr]     Checking shellexpand v3.1.2
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking scc v2.4.0
[INFO] [stderr]     Checking toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.0.4
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking tempfile v3.26.0
[INFO] [stderr]     Checking toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking toml v1.0.6+spec-1.1.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serial_test_derive v3.4.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking serial_test v3.4.0
[INFO] [stderr]     Checking kasuari v0.4.11
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking ratatui-core v0.1.0
[INFO] [stderr]     Checking ratatui-widgets v0.3.0
[INFO] [stderr]     Checking ratatui-crossterm v0.1.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking ratatui-macros v0.7.0
[INFO] [stderr]     Checking tui-tree-widget v0.24.0
[INFO] [stderr]     Checking ratatui v0.30.0
[INFO] [stderr]     Checking tui-logger v0.18.1
[INFO] [stderr]     Checking tracing-appender v0.2.4
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/config/loader.rs (4 fixes)
[INFO] [stderr]        Fixed src/backend/cursor/acp.rs (4 fixes)
[INFO] [stderr]        Fixed src/backend/cursor/mcp_config.rs (3 fixes)
[INFO] [stderr]        Fixed src/self_improve/runner.rs (6 fixes)
[INFO] [stderr]        Fixed src/app/orchestrator.rs (4 fixes)
[INFO] [stderr]        Fixed src/testing/integration_tests.rs (10 fixes)
[INFO] [stderr]        Fixed src/backend/cursor/cli.rs (3 fixes)
[INFO] [stderr]        Fixed src/app/mod.rs (2 fixes)
[INFO] [stderr]        Fixed src/models.rs (3 fixes)
[INFO] [stderr]        Fixed src/mcp_server/handlers/mod.rs (10 fixes)
[INFO] [stderr]        Fixed src/backend/cursor/auth.rs (4 fixes)
[INFO] [stderr]        Fixed src/app/agent_spawner.rs (3 fixes)
[INFO] [stderr]        Fixed src/backend/cursor/mod.rs (3 fixes)
[INFO] [stderr]        Fixed src/app/socket.rs (1 fix)
[INFO] [stderr]        Fixed src/acp.rs (1 fix)
[INFO] [stderr]        Fixed src/self_improve/config.rs (9 fixes)
[INFO] [stderr]        Fixed src/mcp_server/server.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/acp.rs:203:31
[INFO] [stdout]     |
[INFO] [stdout] 202 |                         let mut pending = pending_requests_clone.lock().await;
[INFO] [stdout]     |                             -----------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `pending` calls a custom destructor
[INFO] [stdout]     |                             `pending` will be dropped later as of Edition 2024
[INFO] [stdout] 203 |                         match pending.remove(&id) { Some(sender) => {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 217 |                     } else if tx_notifications.send(value).await.is_err() {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/concurrent_spawner.rs:152:43
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let (tx, mut rx) = tokio::sync::mpsc::channel(1);
[INFO] [stdout]     |              ------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `rx` calls a custom destructor
[INFO] [stdout]     |              `rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |     if let Some(first_result) = rx.recv().await {
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 164 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/orchestrator_acp.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |             match self.acp_orchestrator.recv().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                            |
[INFO] [stdout]     |                   |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 187 |                                 let _ = writer.write_message_chunk(text).await;
[INFO] [stdout]     |                                         --------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 195 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 200 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/app/retry.rs:135:15
[INFO] [stdout]      |
[INFO] [stdout]  135 |         match operation().await {
[INFO] [stdout]      |               ^^^^^^^^^^^^-----
[INFO] [stdout]      |               |           |
[INFO] [stdout]      |               |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  147 |             Err(e) => {
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `e` calls a custom destructor
[INFO] [stdout]      |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  160 |                     tokio::time::sleep(delay).await;
[INFO] [stdout]      |                     -------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  183 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/socket.rs:91:19
[INFO] [stdout]     |
[INFO] [stdout]  91 |               match listener.accept().await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                 |
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 | /                     tokio::spawn(async move {
[INFO] [stdout]  97 | |                         match handle_mcp_connection(stream, tool_tx).await { Err(e) => {
[INFO] [stdout]  98 | |                             tracing::error!("🔌 MCP connection error on {}: {}", socket_addr, e);
[INFO] [stdout]  99 | |                         } _ => {
[INFO] [stdout] ...   |
[INFO] [stdout] 104 | |                         }}
[INFO] [stdout] 105 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 113 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/socket.rs:148:19
[INFO] [stdout]     |
[INFO] [stdout] 148 |               match listener.accept().await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                 |
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 151 | /                     tokio::spawn(async move {
[INFO] [stdout] 152 | |                         if let Err(e) = handle_mcp_connection(stream, tool_tx).await {
[INFO] [stdout] 153 | |                             tracing::error!("MCP connection error: {}", e);
[INFO] [stdout] 154 | |                         }
[INFO] [stdout] 155 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/backend/cursor/acp.rs:180:31
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         let mut pending = pending_requests_clone.lock().await;
[INFO] [stdout]     |                             -----------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `pending` calls a custom destructor
[INFO] [stdout]     |                             `pending` will be dropped later as of Edition 2024
[INFO] [stdout] 180 |                         match pending.remove(&id) { Some(sender) => {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     } else if tx_notifications.send(value).await.is_err() {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/backend/cursor/cli.rs:561:33
[INFO] [stdout]     |
[INFO] [stdout] 559 | / ...                   tracing::trace!(
[INFO] [stdout] 560 | | ...                       "  → Text: {}...",
[INFO] [stdout] 561 | | ...                       &content.chars().take(50).collect::<String>()
[INFO] [stdout]     | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 562 | | ...                   );
[INFO] [stdout]     | |_______________________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/ipc/unix.rs:42:15
[INFO] [stdout]      |
[INFO] [stdout]   42 |         match IpcStream::connect(address).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                           |
[INFO] [stdout]      |               |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   56 |                 tokio::time::sleep(Duration::from_millis(*delay_ms)).await;
[INFO] [stdout]      |                 ----------------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   59 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/logging/scope.rs:76:10
[INFO] [stdout]     |
[INFO] [stdout]  66 |         let mut count = self.implementer_count.write().await;
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `count` calls a custom destructor
[INFO] [stdout]     |             `count` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  76 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  77 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `count` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/mcp_server/server.rs:120:33
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 let mut stdout = stdout_clone.lock().await;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `stdout` calls a custom destructor
[INFO] [stdout]     |                     `stdout` will be dropped later as of Edition 2024
[INFO] [stdout] 120 |                 if let Err(e) = send_response(&mut stdout, &resp).await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |                                 |
[INFO] [stdout]     |                                 |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 123 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stdout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/mcp_server/server.rs:120:67
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 let mut stdout = stdout_clone.lock().await;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `stdout` calls a custom destructor
[INFO] [stdout]     |                     `stdout` will be dropped later as of Edition 2024
[INFO] [stdout] 120 |                 if let Err(e) = send_response(&mut stdout, &resp).await {
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout]     |                                                                   |
[INFO] [stdout]     |                                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 123 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stdout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/self_improve/runner.rs:338:19
[INFO] [stdout]     |
[INFO] [stdout] 338 |               match listener.accept().await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                 |
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 | /                     tokio::spawn(async move {
[INFO] [stdout] 342 | |                         if let Err(e) = handle_selfimprover_tool_call(stream, completion_tx).await {
[INFO] [stdout] 343 | |                             tracing::warn!("Self-improver tool call error: {}", e);
[INFO] [stdout] 344 | |                         }
[INFO] [stdout] 345 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1305:11
[INFO] [stdout]      |
[INFO] [stdout] 1303 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1304 |
[INFO] [stdout] 1305 |     match harness.run_goal("Execute with skip").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                     |
[INFO] [stdout]      |           |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1335 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1305:49
[INFO] [stdout]      |
[INFO] [stdout] 1303 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1304 |
[INFO] [stdout] 1305 |     match harness.run_goal("Execute with skip").await {
[INFO] [stdout]      |                                                 ^^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1335 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1574:11
[INFO] [stdout]      |
[INFO] [stdout] 1572 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1573 |
[INFO] [stdout] 1574 |     match harness.run_goal("Capture complete calls").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                          |
[INFO] [stdout]      |           |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1602 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1574:54
[INFO] [stdout]      |
[INFO] [stdout] 1572 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1573 |
[INFO] [stdout] 1574 |     match harness.run_goal("Capture complete calls").await {
[INFO] [stdout]      |                                                      ^^^^^
[INFO] [stdout]      |                                                      |
[INFO] [stdout]      |                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1602 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1647:11
[INFO] [stdout]      |
[INFO] [stdout] 1645 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1646 |
[INFO] [stdout] 1647 |     match harness.run_goal("Skip multiple tasks").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                       |
[INFO] [stdout]      |           |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1667 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1647:51
[INFO] [stdout]      |
[INFO] [stdout] 1645 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1646 |
[INFO] [stdout] 1647 |     match harness.run_goal("Skip multiple tasks").await {
[INFO] [stdout]      |                                                   ^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1667 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1719:11
[INFO] [stdout]      |
[INFO] [stdout] 1717 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1718 |
[INFO] [stdout] 1719 |     match harness.run_goal("Complete all tasks").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                      |
[INFO] [stdout]      |           |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1742 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1719:50
[INFO] [stdout]      |
[INFO] [stdout] 1717 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1718 |
[INFO] [stdout] 1719 |     match harness.run_goal("Complete all tasks").await {
[INFO] [stdout]      |                                                  ^^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1742 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1782:11
[INFO] [stdout]      |
[INFO] [stdout] 1780 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1781 |
[INFO] [stdout] 1782 |     match harness.run_goal("Skip without reason").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                       |
[INFO] [stdout]      |           |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1799 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1782:51
[INFO] [stdout]      |
[INFO] [stdout] 1780 |     let mut harness = TestHarness::with_scenario(scenario).with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1781 |
[INFO] [stdout] 1782 |     match harness.run_goal("Skip without reason").await {
[INFO] [stdout]      |                                                   ^^^^^
[INFO] [stdout]      |                                                   |
[INFO] [stdout]      |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1799 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1820:11
[INFO] [stdout]      |
[INFO] [stdout] 1818 |     let mut harness = harness.with_timeout(Duration::from_secs(15));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1819 |
[INFO] [stdout] 1820 |     match harness.run_goal("Test wait=any behavior").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                          |
[INFO] [stdout]      |           |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1847 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1820:54
[INFO] [stdout]      |
[INFO] [stdout] 1818 |     let mut harness = harness.with_timeout(Duration::from_secs(15));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1819 |
[INFO] [stdout] 1820 |     match harness.run_goal("Test wait=any behavior").await {
[INFO] [stdout]      |                                                      ^^^^^
[INFO] [stdout]      |                                                      |
[INFO] [stdout]      |                                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1847 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1859:11
[INFO] [stdout]      |
[INFO] [stdout] 1857 |     let mut harness = harness.with_timeout(Duration::from_secs(15));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1858 |
[INFO] [stdout] 1859 |     match harness.run_goal("Test wait=all with mixed results").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                                    |
[INFO] [stdout]      |           |                                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                                    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1886 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1859:64
[INFO] [stdout]      |
[INFO] [stdout] 1857 |     let mut harness = harness.with_timeout(Duration::from_secs(15));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1858 |
[INFO] [stdout] 1859 |     match harness.run_goal("Test wait=all with mixed results").await {
[INFO] [stdout]      |                                                                ^^^^^
[INFO] [stdout]      |                                                                |
[INFO] [stdout]      |                                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1886 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1897:11
[INFO] [stdout]      |
[INFO] [stdout] 1895 |     let mut harness = harness.with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1896 |
[INFO] [stdout] 1897 |     match harness.run_goal("Test session drain").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                      |
[INFO] [stdout]      |           |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1918 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1897:50
[INFO] [stdout]      |
[INFO] [stdout] 1895 |     let mut harness = harness.with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1896 |
[INFO] [stdout] 1897 |     match harness.run_goal("Test session drain").await {
[INFO] [stdout]      |                                                  ^^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1918 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1930:11
[INFO] [stdout]      |
[INFO] [stdout] 1928 |     let mut harness = harness.with_timeout(Duration::from_secs(15));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1929 |
[INFO] [stdout] 1930 |     match harness.run_goal("Test spawn failure recovery").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                               |
[INFO] [stdout]      |           |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1954 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1930:59
[INFO] [stdout]      |
[INFO] [stdout] 1928 |     let mut harness = harness.with_timeout(Duration::from_secs(15));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1929 |
[INFO] [stdout] 1930 |     match harness.run_goal("Test spawn failure recovery").await {
[INFO] [stdout]      |                                                           ^^^^^
[INFO] [stdout]      |                                                           |
[INFO] [stdout]      |                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1954 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1966:11
[INFO] [stdout]      |
[INFO] [stdout] 1964 |     let mut harness = harness.with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1965 |
[INFO] [stdout] 1966 |     match harness.run_goal("Test socket close cleanup").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                             |
[INFO] [stdout]      |           |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1982 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1966:57
[INFO] [stdout]      |
[INFO] [stdout] 1964 |     let mut harness = harness.with_timeout(Duration::from_secs(10));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1965 |
[INFO] [stdout] 1966 |     match harness.run_goal("Test socket close cleanup").await {
[INFO] [stdout]      |                                                         ^^^^^
[INFO] [stdout]      |                                                         |
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1982 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1994:11
[INFO] [stdout]      |
[INFO] [stdout] 1992 |     let mut harness = harness.with_timeout(Duration::from_secs(15));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1993 |
[INFO] [stdout] 1994 |     match harness.run_goal("Test completion rejection").await {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |           |                                             |
[INFO] [stdout]      |           |                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           |                                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2027 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/testing/integration_tests.rs:1994:57
[INFO] [stdout]      |
[INFO] [stdout] 1992 |     let mut harness = harness.with_timeout(Duration::from_secs(15));
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `harness` calls a custom destructor
[INFO] [stdout]      |         `harness` will be dropped later as of Edition 2024
[INFO] [stdout] 1993 |
[INFO] [stdout] 1994 |     match harness.run_goal("Test completion rejection").await {
[INFO] [stdout]      |                                                         ^^^^^
[INFO] [stdout]      |                                                         |
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2027 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `harness` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.26.0/src/dir/mod.rs:498:1
[INFO] [stdout]      |
[INFO] [stdout]  498 | impl Drop for TempDir {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:512:15
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let task_manager = app.task_manager().read().await;
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `task_manager` calls a custom destructor
[INFO] [stdout]     |             `task_manager` will be dropped later as of Edition 2024
[INFO] [stdout] 512 |         match self_improve::maybe_run_self_improvement(&run_dir, &result, &task_manager).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                                                          |
[INFO] [stdout]     |               |                                                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 535 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task_manager` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:512:90
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let task_manager = app.task_manager().read().await;
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `task_manager` calls a custom destructor
[INFO] [stdout]     |             `task_manager` will be dropped later as of Edition 2024
[INFO] [stdout] 512 |         match self_improve::maybe_run_self_improvement(&run_dir, &result, &task_manager).await {
[INFO] [stdout]     |                                                                                          ^^^^^
[INFO] [stdout]     |                                                                                          |
[INFO] [stdout]     |                                                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 535 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `task_manager` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/acp.rs:203:31
[INFO] [stdout]     |
[INFO] [stdout] 202 |                         let mut pending = pending_requests_clone.lock().await;
[INFO] [stdout]     |                             -----------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `pending` calls a custom destructor
[INFO] [stdout]     |                             `pending` will be dropped later as of Edition 2024
[INFO] [stdout] 203 |                         match pending.remove(&id) { Some(sender) => {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 217 |                     } else if tx_notifications.send(value).await.is_err() {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/concurrent_spawner.rs:152:43
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let (tx, mut rx) = tokio::sync::mpsc::channel(1);
[INFO] [stdout]     |              ------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `rx` calls a custom destructor
[INFO] [stdout]     |              `rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |     if let Some(first_result) = rx.recv().await {
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 164 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/orchestrator_acp.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |             match self.acp_orchestrator.recv().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                            |
[INFO] [stdout]     |                   |                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 187 |                                 let _ = writer.write_message_chunk(text).await;
[INFO] [stdout]     |                                         --------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 195 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 200 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/app/retry.rs:135:15
[INFO] [stdout]      |
[INFO] [stdout]  135 |         match operation().await {
[INFO] [stdout]      |               ^^^^^^^^^^^^-----
[INFO] [stdout]      |               |           |
[INFO] [stdout]      |               |           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  147 |             Err(e) => {
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `e` calls a custom destructor
[INFO] [stdout]      |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  160 |                     tokio::time::sleep(delay).await;
[INFO] [stdout]      |                     -------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  183 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/socket.rs:91:19
[INFO] [stdout]     |
[INFO] [stdout]  91 |               match listener.accept().await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                 |
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 | /                     tokio::spawn(async move {
[INFO] [stdout]  97 | |                         match handle_mcp_connection(stream, tool_tx).await { Err(e) => {
[INFO] [stdout]  98 | |                             tracing::error!("🔌 MCP connection error on {}: {}", socket_addr, e);
[INFO] [stdout]  99 | |                         } _ => {
[INFO] [stdout] ...   |
[INFO] [stdout] 104 | |                         }}
[INFO] [stdout] 105 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 113 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app/socket.rs:148:19
[INFO] [stdout]     |
[INFO] [stdout] 148 |               match listener.accept().await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                 |
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 151 | /                     tokio::spawn(async move {
[INFO] [stdout] 152 | |                         if let Err(e) = handle_mcp_connection(stream, tool_tx).await {
[INFO] [stdout] 153 | |                             tracing::error!("MCP connection error: {}", e);
[INFO] [stdout] 154 | |                         }
[INFO] [stdout] 155 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/backend/cursor/acp.rs:180:31
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         let mut pending = pending_requests_clone.lock().await;
[INFO] [stdout]     |                             -----------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `pending` calls a custom destructor
[INFO] [stdout]     |                             `pending` will be dropped later as of Edition 2024
[INFO] [stdout] 180 |                         match pending.remove(&id) { Some(sender) => {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 191 |                     } else if tx_notifications.send(value).await.is_err() {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/oneshot.rs:871:1
[INFO] [stdout]     |
[INFO] [stdout] 871 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/backend/cursor/cli.rs:561:33
[INFO] [stdout]     |
[INFO] [stdout] 559 | / ...                   tracing::trace!(
[INFO] [stdout] 560 | | ...                       "  → Text: {}...",
[INFO] [stdout] 561 | | ...                       &content.chars().take(50).collect::<String>()
[INFO] [stdout]     | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 562 | | ...                   );
[INFO] [stdout]     | |_______________________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/ipc/unix.rs:42:15
[INFO] [stdout]      |
[INFO] [stdout]   42 |         match IpcStream::connect(address).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                           |
[INFO] [stdout]      |               |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   56 |                 tokio::time::sleep(Duration::from_millis(*delay_ms)).await;
[INFO] [stdout]      |                 ----------------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   59 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/logging/scope.rs:76:10
[INFO] [stdout]     |
[INFO] [stdout]  66 |         let mut count = self.implementer_count.write().await;
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `count` calls a custom destructor
[INFO] [stdout]     |             `count` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  76 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  77 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `count` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/mcp_server/server.rs:120:33
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 let mut stdout = stdout_clone.lock().await;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `stdout` calls a custom destructor
[INFO] [stdout]     |                     `stdout` will be dropped later as of Edition 2024
[INFO] [stdout] 120 |                 if let Err(e) = send_response(&mut stdout, &resp).await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |                                 |
[INFO] [stdout]     |                                 |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 123 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stdout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/mcp_server/server.rs:120:67
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 let mut stdout = stdout_clone.lock().await;
[INFO] [stdout]     |                     ----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `stdout` calls a custom destructor
[INFO] [stdout]     |                     `stdout` will be dropped later as of Edition 2024
[INFO] [stdout] 120 |                 if let Err(e) = send_response(&mut stdout, &resp).await {
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout]     |                                                                   |
[INFO] [stdout]     |                                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 123 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stdout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/self_improve/runner.rs:338:19
[INFO] [stdout]     |
[INFO] [stdout] 338 |               match listener.accept().await {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                 |
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                     |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 | /                     tokio::spawn(async move {
[INFO] [stdout] 342 | |                         if let Err(e) = handle_selfimprover_tool_call(stream, completion_tx).await {
[INFO] [stdout] 343 | |                             tracing::warn!("Self-improver tool call error: {}", e);
[INFO] [stdout] 344 | |                         }
[INFO] [stdout] 345 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 352 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:512:15
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let task_manager = app.task_manager().read().await;
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `task_manager` calls a custom destructor
[INFO] [stdout]     |             `task_manager` will be dropped later as of Edition 2024
[INFO] [stdout] 512 |         match self_improve::maybe_run_self_improvement(&run_dir, &result, &task_manager).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                                                          |
[INFO] [stdout]     |               |                                                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 535 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task_manager` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:512:90
[INFO] [stdout]     |
[INFO] [stdout] 511 |         let task_manager = app.task_manager().read().await;
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `task_manager` calls a custom destructor
[INFO] [stdout]     |             `task_manager` will be dropped later as of Edition 2024
[INFO] [stdout] 512 |         match self_improve::maybe_run_self_improvement(&run_dir, &result, &task_manager).await {
[INFO] [stdout]     |                                                                                          ^^^^^
[INFO] [stdout]     |                                                                                          |
[INFO] [stdout]     |                                                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 535 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `task_manager` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: paperboat v0.1.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling paperboat v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/app/agent_spawner.rs:1108:13
[INFO] [stdout]      |
[INFO] [stdout] 1108 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-F unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/app/agent_spawner.rs:1117:32
[INFO] [stdout]      |
[INFO] [stdout] 1117 |                 Some(value) => unsafe { std::env::set_var(self.key, value) },
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/app/agent_spawner.rs:1119:25
[INFO] [stdout]      |
[INFO] [stdout] 1119 |                 None => unsafe { std::env::remove_var(self.key) },
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/acp.rs:503:13
[INFO] [stdout]     |
[INFO] [stdout] 503 |             unsafe { env::set_var(key, value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/acp.rs:512:32
[INFO] [stdout]     |
[INFO] [stdout] 512 |                 Some(value) => unsafe { env::set_var(self.key, value) },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/acp.rs:514:25
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/auth.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |             unsafe { env::set_var(key, value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/auth.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             unsafe { env::remove_var(key) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/auth.rs:120:30
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 Some(val) => unsafe { env::set_var(self.key, val) },
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/auth.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/cli.rs:816:13
[INFO] [stdout]     |
[INFO] [stdout] 816 |             unsafe { env::set_var(key, value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/cli.rs:825:32
[INFO] [stdout]     |
[INFO] [stdout] 825 |                 Some(value) => unsafe { env::set_var(self.key, value) },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/cli.rs:827:25
[INFO] [stdout]     |
[INFO] [stdout] 827 |                 None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/mcp_config.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |             unsafe { env::set_var(key, value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/mcp_config.rs:287:32
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 Some(value) => unsafe { env::set_var(self.key, value) },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/mcp_config.rs:289:25
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/mod.rs:407:13
[INFO] [stdout]     |
[INFO] [stdout] 407 |             unsafe { env::set_var(key, value) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/mod.rs:416:32
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 Some(value) => unsafe { env::set_var(self.key, value) },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/backend/cursor/mod.rs:418:25
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 None => unsafe { env::remove_var(self.key) },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/config/loader.rs:1219:13
[INFO] [stdout]      |
[INFO] [stdout] 1219 |             unsafe { std::env::set_var(key, value) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/config/loader.rs:1226:13
[INFO] [stdout]      |
[INFO] [stdout] 1226 |             unsafe { std::env::remove_var(key) };
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/config/loader.rs:1235:30
[INFO] [stdout]      |
[INFO] [stdout] 1235 |                 Some(val) => unsafe { std::env::set_var(self.key, val) },
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/config/loader.rs:1237:25
[INFO] [stdout]      |
[INFO] [stdout] 1237 |                 None => unsafe { std::env::remove_var(self.key) },
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:307:9
[INFO] [stdout]     |
[INFO] [stdout] 307 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "planner") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:367:9
[INFO] [stdout]     |
[INFO] [stdout] 367 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "orchestrator") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:427:9
[INFO] [stdout]     |
[INFO] [stdout] 427 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "implementer") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "unknown_type") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout] 518 |         unsafe { std::env::remove_var("PAPERBOAT_AGENT_TYPE") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:552:9
[INFO] [stdout]     |
[INFO] [stdout] 552 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "planner") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:574:9
[INFO] [stdout]     |
[INFO] [stdout] 574 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "orchestrator") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:595:9
[INFO] [stdout]     |
[INFO] [stdout] 595 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "implementer") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:620:9
[INFO] [stdout]     |
[INFO] [stdout] 620 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "orchestrator") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/handlers/mod.rs:668:9
[INFO] [stdout]     |
[INFO] [stdout] 668 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "planner") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/server.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "orchestrator") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/mcp_server/server.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 |         unsafe { std::env::set_var("PAPERBOAT_AGENT_TYPE", "orchestrator") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/models.rs:915:9
[INFO] [stdout]     |
[INFO] [stdout] 915 |         unsafe { std::env::remove_var("PAPERBOAT_MODEL") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/models.rs:932:9
[INFO] [stdout]     |
[INFO] [stdout] 932 |         unsafe { std::env::set_var("PAPERBOAT_MODEL", "sonnet") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/models.rs:940:9
[INFO] [stdout]     |
[INFO] [stdout] 940 |         unsafe { std::env::remove_var("PAPERBOAT_MODEL") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/self_improve/config.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "true") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/self_improve/config.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/self_improve/config.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "1") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/self_improve/config.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/self_improve/config.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "false") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/self_improve/config.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/self_improve/config.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 226 |         unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "0") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/self_improve/config.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/self_improve/config.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/self_improve/runner.rs:1276:9
[INFO] [stdout]      |
[INFO] [stdout] 1276 |         unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "0") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/self_improve/runner.rs:1293:9
[INFO] [stdout]      |
[INFO] [stdout] 1293 |         unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/self_improve/runner.rs:1303:9
[INFO] [stdout]      |
[INFO] [stdout] 1303 |         unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "1") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/self_improve/runner.rs:1320:9
[INFO] [stdout]      |
[INFO] [stdout] 1320 |         unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/self_improve/runner.rs:1331:9
[INFO] [stdout]      |
[INFO] [stdout] 1331 |         unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "1") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/self_improve/runner.rs:1361:9
[INFO] [stdout]      |
[INFO] [stdout] 1361 |         unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") };
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2264:5
[INFO] [stdout]      |
[INFO] [stdout] 2264 |     unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "false") };
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2272:5
[INFO] [stdout]      |
[INFO] [stdout] 2272 |     unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "0") };
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2280:5
[INFO] [stdout]      |
[INFO] [stdout] 2280 |     unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "no") };
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2289:22
[INFO] [stdout]      |
[INFO] [stdout] 2289 |         Some(val) => unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", val) },
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2291:17
[INFO] [stdout]      |
[INFO] [stdout] 2291 |         None => unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") },
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2308:5
[INFO] [stdout]      |
[INFO] [stdout] 2308 |     unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") };
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2318:5
[INFO] [stdout]      |
[INFO] [stdout] 2318 |     unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "true") };
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2326:5
[INFO] [stdout]      |
[INFO] [stdout] 2326 |     unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", "1") };
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2335:22
[INFO] [stdout]      |
[INFO] [stdout] 2335 |         Some(val) => unsafe { std::env::set_var("PAPERBOAT_SELF_IMPROVE", val) },
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]     --> src/testing/integration_tests.rs:2337:17
[INFO] [stdout]      |
[INFO] [stdout] 2337 |         None => unsafe { std::env::remove_var("PAPERBOAT_SELF_IMPROVE") },
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `paperboat` (bin "paperboat" test) due to 63 previous errors
[INFO] running `Command { std: "docker" "inspect" "048ff13ff81b5cefe5ee81531d39981d16c0664a3edcc1d3ba96322b9c6421a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "048ff13ff81b5cefe5ee81531d39981d16c0664a3edcc1d3ba96322b9c6421a5", kill_on_drop: false }`
[INFO] [stdout] 048ff13ff81b5cefe5ee81531d39981d16c0664a3edcc1d3ba96322b9c6421a5
